package com.jusfoun.communication.constant;

/**
 * rediskey常量类
 *
 * @author player six
 * @email jslcylcy@163.com
 * @create 2017-12-22 18:04
 **/
public final class RedisKeyConstant {

    /**
     * app列表前缀
     */
    public static final String REDIS_APPIDLIST = "COMMUNICATION:APPIDLIST";

    /**
     * app信息 hash前缀
     */
    public static final String REDIS_APPINFO = "COMMUNICATION:APPINFO:";

    /**
     * 存储token 对应的用户
     */
    public static final String REDIS_TOKEN = "COMMUNICATION:TOKEN:";

    /**
     * 存储用户对应的token
     */
    public static final String REDIS_USERINFO = "COMMUNICATION:USER:";

    /**
     * 是否启用自动回复
     */
    public static final String REDIS_USE_AUTO_REPLY = ":USE_AUTO_REPLY";

    /**
     * 自动回复开始时间
     */
    public static final String REDIS_AUTO_REPLY_BEGINTIME = ":AUTO_REPLY_BEGINTIME";

    /**
     * 自动回复结束时间
     */
    public static final String REDIS_AUTO_REPLY_ENDTIME = ":AUTO_REPLY_ENDTIME";

    /**
     * 存储当前app下的自动回复idList
     */
    public static final String REDIS_APP_AUTO_REPLYLIST = ":AUTO_REPLYLIST";

    /**
     * 存储所有自动回复的列表
     */
    public static final String REDIS_AUTO_REPLY = "COMMUNICATION:AUTO_REPLY:";

    /**
     * 存储所有自动回复的列表
     */
    public static final String REDIS_AUTO_REPLYCOUNT = "COMMUNICATION:AUTO_REPLYCOUNT";

    /**
     * 存储消息
     */
    public static final String REDIS_MESSAGE = "COMMUNICATION:MESSAGE:";

    /**
     * Message id计量
     */
    public static final String REDIS_MESSAGE_COUNT = "COMMUNICATION:MESSAGECOUNT";

    /**
     * 待推送消息列表
     */
    public static final String REDIS_MESSAGE_NEED_PUSH = "COMMUNICATION:MESSAGE:NEEDPUSH:";

    /**
     * 存储 app消息的前缀
     */
    public static final String REDIS_MESSAGE_IDLIST_PREFIX = "COMMUNICATION:MESSAGELIST:APP:";

    /**
     * 存储 app系统消息的前缀
     */
    public static final String REDIS_MESSAGE_SYSTEM_IDLIST_PREFIX = "COMMUNICATION:MESSAGELIST:SYSTEM:APP:";

    /**
     * 记录离线消息
     */
    public static final String REDIS_MESSAGE_OFFLINE_PREFIX = "COMMUNICATION:MESSAGEOFFLINE:APP:";

    /**
     * 存储各个app用户列表的前缀
     */
    public static final String REDIS_APP_USERS = ":USERLIST";

    /**
     * 存储所有group
     */
    public static final String REDIS_GROUPLIST = "COMMUNICATION:GROUPLIST:APP:";

    /**
     * 存储所有group
     */
    public static final String REDIS_TAGLIST = "COMMUNICATION:TAGLIST:APP:";

    /**
     * 存储group下用户前缀
     */
    public static final String REDIS_GROUP = "COMMUNICATION:GROUP:APP:";

    /**
     * 存储各个app用户列表的中间
     */
    public static final String REDIS_APP_GROUP_USER = ":GROUP:";

    /**
     * 存储tag下用户前缀
     */
    public static final String REDIS_TAG = "COMMUNICATION:TAG:APP:";

    /**
     * 存储各个app用户列表的中间
     */
    public static final String REDIS_APP_TAG_USER = ":TAG:";

    /**
     * 用户服务器映射关系
     */
    public static final String REDIS_USER_SERVER = "COMMUNICATION:USER:SERVER:APP:";

    private RedisKeyConstant() {
    }
}
